package com.llb666.shop.items.api.vo;

import com.llb666.shop.items.domain.entity.Carousel;
import lombok.Data;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 首页轮播图vo.
 *
 * @author llb666
 */
@Data
public class CarouselVo {
    /**
     * 主键
     */
    private String id;

    /**
     * 图片 图片地址
     */
    private String imageUrl;

    /**
     * 背景色
     */
    private String backgroundColor;

    /**
     * 商品id 商品id
     */
    private String itemId;

    /**
     * 商品分类id 商品分类id
     */
    private String catId;

    /**
     * 轮播图类型 轮播图类型，用于判断，可以根据商品id或者分类进行页面跳转，1：商品 2：分类
     */
    private Integer type;

    /**
     * 轮播图展示顺序
     */
    private Integer sort;

    /**
     * 是否展示
     */
    private Integer isShow;


    @Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
    public interface Converter {
        CarouselVo.Converter INSTANCE = Mappers.getMapper(CarouselVo.Converter.class);

        CarouselVo do2Vo(Carousel carousel);

        List<CarouselVo> do2VoList(List<Carousel> carouselList);
    }
}
